# Linux ерунда заметки.

**wall** —  отображает сообщение на терминалах всех вошедших в систему пользователей. wall "message"

**write** - отображает сообщение на терминале конкретного пользователя.  echo "ughiug" | write test1

**w** - посмотреть пользователей в системе. или **who**

**/etc/nologin** - наличие данного файла запрещает вход всем пользователям кроме root

**gpart** - пытается угадать, какие разделы находятся на жестком диске. Если основная таблица разделов 
 была утеряна, перезаписана или уничтожена, разделы все еще существуют на диске, но 
 операционная система не может получить к ним доступ.

**/user/lib/systemd/system** - config file service

**arping** -c 1 -I eth1 192.168.1.10 - отправляет arp запрос.

**tcpdump** -i any arp -nn -v -A -e - перехватывает сетевой трафик проходящий через интерфейс.

**ls -l**

**pam _ ssh _ agent_auth** - пакет PAM 

**Пример sudoers**

%wheel ALL = (ALL) ALL - член группы wheel может запустить любую программу с паролем.

MYSQL_ADMINS ALL = (mysql) NOPASSWD: ALL - администраторы mysql могут запускать любую команду под пользователем mysql без пароля.

ADMINS ALL =  (ALL) NOPASSWD: /usr/sbin/logrotate - администраторы могут запускать команду logrotate как обычный пользователь без пароля.


**sudo systemctl set-default multi-user.target** - изменить цель загрузки по умолчанию.

**sudo systemctl isolate multi-user.tarqet/rescue** - изменить текущую цель загрузки.

**systemctl list-units --type=target** - посмотреть доступные цели загрузки.

**passwd** - изменение пароля пользователя.

passwd -l - блокирует учетную запись добавляя знак ! к зашифрованному паролю.

sudo passwd -u root - разблокировать учетную запись пользователя root.

**SCP**

scp /home/user/file root@timeweb:/root/ - копирование туда.

scp -r /home/user/photos root@timeweb:/root/ - копирование директории.

scp -r /home/user/photos root@timeweb:/root/ - копирование директории.

scp root@timeweb:/root/file /home/user/ - копирование обратно


## Управление процессами

kill pid

kilall nano

### PS

ps up '1063 1056' - вывести информацию по конкетным PID.

ps aux

ps lax

ps aux | grep -v grep | grep sshd - удалить из вывода сам grep

**pidof nano** - выведет PID всех процессов nano

**pgrep nano** - выведет PID всех процессов nano

### Утилиты

**df -h** - загрузка жестких дисков и файловой системы.

**du -h** - размер файлов.

**uptime** - средняя нагрузка системы.

**top** - выводит список работающих в системе процессов.

**atop** - продвинутый интерактивный полноэкранный монитор производительностит.

**mpstat** -  выводит статистику по процессору.

**iostat** -  мониторит использование дисковых разделов.

**pidstat** - выводит статистику по процессам.

**vmstat** - выводит статистику процессора, памяти и о процессах.

**lvm** - инструмент для работы LVM.

**mdraid** - для работы с массивами дисков.

### Приоритет

**Приоритет процессора**

nice -n 5 ~/bin/lonqtask 

renice -5 8829

renice 5 -u boqqs

**Приоритет ввода-вывода**

ionice

**Отслеживание системных вызовов**

sudo strace -р 5810

truss ср /etc/passwd /Mgh/рw

**cron** **systemd timers**


## Файловая система

**mount** - все смонтированные файловые системы.

**mount** - с аргументами, примонтировать ФС.

**unmount** - отмонтировать. -f - принудительно отмонтировать использующуюся ФС.

**/etc/fstab** - смотированные файловые системы (блочные устройства /dev/..).

**fuser -сv /home** - посмотреть процессы использующие ФС. 

**lsof** - посмотреть процессы использующие ФС -u user - файлы используемые пользователем. -p 1042 - файлы используемые процессом.

**file** **ls -ld** - посмотреть тип файла. 

**rm -i** - удалить с подтверждением.

**ln** - создать жескую ссылку.

**ln -s** - создать символьную ссылку.

**chmod** - измениние прав пользования. -R -поменять права на все файлы в папке. -с -вывести изменения.

u+x - разрешить выполнение для владельца;

ugo+x - разрешить выполнение для всех;

ug+w - разрешить запись для владельца и группы;

o-x - запретить выполнение для остальных пользователей;

ugo+rwx - разрешить все для всех;

**chown user /file** - променять владельца. **chown user:grup /file** - променять владельца и группу.

**chqrp group /file** - поменять группу.

**pwd** - путь к текущей папке.

**mkdir** - создать директорию.

**rmdir** - удалить директорию.

# Управление пользователями

**/etc/shadow** - зашифрованные пароли полшьзователей. или **/etc/nsswitch.conf**

**/etc/pam.d/common-passwd** - политики по установке паролей по умолчанию Debian

**/etc/login.defs** -  политики по установке паролей по умолчанию RHEL

**chage -d 0 user** - анулировать старый пароль и принудительно внести обновления.

**x** - установить в зашифрованное поле пароля до установки реального пароля пользователем.

**useradd** - создать пользователя, пароль в зашифрованном виде. **-D** - значения по умолчанию. **-D -s /bin/bash** - изменить оболочку по умолчанию. 

**adduser** - создать пользователя и пароль интерактивно.

**newuser** - создать пользователей из файла.

**deluser or userdel** -удалить пользхователя.

**usermod** - управление пользователями.

-g - изменить основную группу пользователя.

-G -a - добавить пользователя в дополнительные группы, без -а удалит все старые группы.

-l - изменить логин пользователя.

-L - заблокировать пароль пользователя. sudo usermod --expiredate 1 -L gregory2 - полная блокировка пользователя.

-U - разблокировать пароль пользователя.

-u - сменить UID пользователя.

-d -m - изменить домашний каталог пользователя.

**groups user** - текущие группы пользователя.

**id user** - посмотреть UID пользователя.

**passwd user** - установить пароль пользователя интерактивно.

**gpasswd** - задать пароль на группу.

**groupadd** - создать группу.

**groupdel** - удалить группу.

**/etc/passwd** - информация о пользователях

**/etc/group** - ниформация о группах

**/etc/sudoers** - файл sudo

**pwconv, pwunconv, grpconv, grpunconv** - изменение, объединение файлов /etc/passwd and /etc/shadow and ....

**visudo** - редактировать файл **/etc/sudoers**

**sudo visudo -cf /etc/sudoers** - проверить файл на соответствие синтаксиса.

**sudo vipw** - редактировать **/etc/passwd**

**sudo vipw -s** -редактировать **/enc/shadow**

**sudo vigr** -редактировать **/enc/group**

**/etc/default/useradd** - настройки useradd поумолчанию.

**/etc/login.defs** - настройки useradd поумолчанию.


# Журналирование

**last -dwxF user** - покажет дату и время перезагрузки, выключения, с какого хоста по пользователям.

**tail -f /var/log...** - просматривать лог в onlin

## Journalctl

**Journalctl -u ssh** - просмотреть лог ssh в systemd. **-f - смотреть onlin**

--disk-usage - размер журнала на диске.

--list-boots - список системных загрузок.

-b 0 -u ssh - посмотреть только последнюю загрузку.

**/etc/systemd/journald.conf.d** - конфигурация журнала systemd. Можно создать файл в каталоге с расширением .conf и указать в нем свои настройки. По умолчанию хранится только до перезагрузки.

systemd-journal-gatewayd — http-демон, открывающий порт для просмотра (или скачивания) записей журнала

systemd-journal-remote — демон, скачивающий или принимающий записи журналов на центральном сервере

systemd-journal-upload — демон, дублирующий записи журналов на удаленный сервер


## Rsyslog

**/etc/ssyslog.conf** - конфиг.


## Драйверы и ядра

**uname -r** - версия ядра

**/dev** - каталог, драйвера.
**/sys** - каталог, драйвера.



## Яндекс практикум

**sync** - записать кэш ОС на диск.

**df -h** - вывести все устройства и точки монтирования.

**sudo fsfreeze --freeze <точка_монтирования>** - заморозить файловую систему.

**sudo fsfreeze --unfreeze <точка монтирования>** - разморозить файловую систему.

















